package demo1217.pm;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/*
Collection集合:
Iterator<E> iterator();返回在此 collection 的元素上进行迭代的迭代器。

Iterator接口:
1.public boolean hasNext();如果仍有元素可以迭代，则返回 true。
2.E next()返回迭代的下一个元素。
3.void remove()
从迭代器指向的 collection 中移除迭代器返回的最后一个元素（可选操作）。

注意:
使用迭代器对集合进行遍历的时候,不能使用集合中的方法对集合中的元素进行改变.

如果在使用迭代器遍历集合的时候,修改了集合中的元素,
就会报异常ConcurrentModificationException:并发更改异常.
 */
public class Demo_05 {
    public static void main(String[] args) {
        Collection<String> col = new ArrayList<>();
        col.add("hello");
        col.add("it");
        col.add("is");
        col.add("me");
        System.out.println(col);
        //[hello,it,is,me]
        //得到的是当前集合的迭代器对象
        Iterator<String> it = col.iterator();
        //判断是否有下一个元素可以迭代
        while (it.hasNext()) {
            //取出元素
            String s = it.next();
            if (s.equals("me")) {
                it.remove();
            }

        }
        System.out.println(col);

/*
        boolean b = it.hasNext();//判断集合中是否有下一个元素
        String s = it.next();//取出下一个元素
        System.out.println(b);
        System.out.println(s);*/
    }
}
